/**
 * @description 定义全局组件的插件使用方法
 */

// 引入组件,然后注册为一个全局组件
import MainLayout from './MainLayout'

// 定义一个处理时间的通用方法
let dateFormat = function(val, str) {
        // 获取形参
        // console.log(arguments) 

        // 获取到的是一个时间字符串，需要转为一个时间对象
        let _d = new Date(val),
            YYYY = _d.getFullYear(),
            MM = _d.getMonth() + 1,
            DD = _d.getDate(),
            hh = _d.getHours(),
            mm = _d.getMinutes(),
            ss = _d.getSeconds()

        // 需要把一位的数字转为两位
        MM = MM > 9 ? MM : `0${MM}`
        DD = DD > 9 ? DD : `0${DD}`
        hh = hh > 9 ? hh : `0${hh}`
        mm = mm > 9 ? mm : `0${mm}`
        ss = ss > 9 ? ss : `0${ss}`

        // 需要把这些数据整理为一个对象
        let obj = { YYYY, MM, DD, hh, mm, ss }

        // 需要把处理后的数据返回去
        // return `${YYYY}年${MM}月${DD}日 ${hh}时${mm}分${ss}秒`
        // return `${MM}月${DD}日 ${hh}时`
        // return `${MM}-${DD} ${hh}`
        return str.replace(/(YYYY)|(MM)|(DD)|(hh)|(mm)|(ss)/g, function(_s) {
            return obj[_s]
        })
    }
    // 定义函数插件
function plugins() {
    // 定义全局组件
    VueConstructor.comment('MainLayout', MainLayout)
        // 注册一个过滤器
    VueConstructor.filter('dateFormat', dateFormat)
}